package org.atovio.structure.adt;

/**
 * 映射接口
 * @author AtoVio, Winter Yuan
 * @version 1.0
 */
public interface Map<K,V> {
    /**
     * 返回关键字key的映射值
     * @param key 关键字
     * @return 映射值
     */
    V get(K key);

    /**
     * 添加映射元素。关键字相同时，替换值
     * @param key 关键字
     * @param value 映射值
     * @return 添加成功返回true
     */
    boolean put(K key, V value);

    /**
     * 删除关键字为key的元素，并返回删除的元素
     * @param key 关键字
     * @return 被删除的元素
     */
    V remove(K key);
}
